Logic devices can be classified into two broad categories—fixed and programmable. As the name suggests, the circuits in a fixed logic device are permanent, they perform one function or set of functions—once manufactured, they cannot be changed. Programmable logic can be divided into several groups: randomly addressable memories, array logic, complex programmable logic devices (CPLDs), and field-programmable gate arrays (FPGAs). Various examples of randomly addressable memories include programmable read-only memory (PROM), erasable programmable read only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), random access memory (RAM). Various examples of array logic include programmable logic devices (PLDs), programmable array logic (PAL), generic array logic (GAL), programmable macro logic (PML), programmable logic module (PLM), field programmable logic array (FPLA), erasable programmable logic device (EPLD), and multiple array PLD.